package com.xdap.common.pojo.po;

import com.definesys.mpaas.query.annotation.*;
import com.xdap.api.moudle.user.pojo.XdapUsers;
import lombok.Data;

import java.util.Date;

/**
*@auth lishushu
*@2024/3/18 14:58
*@desc {因为环境里面参数缺失，所以需要主动创建}
**/
@Data
@Table("apaas_data_model")
public class ComApaasDataModel {
    private String id;

    @Column("model_code")
    private String modelCode;

    @Column("model_name")
    private String modelName;

    @Column("model_type")
    private String modelType;

    @Column("create_type")
    private String createType;

    @Column("model_data_source")
    private String modelDataSource;

    @Column(type = ColumnType.JAVA)
    private String modelTableSchema;

    @Column(type = ColumnType.JAVA)
    private String modelDataSourceDbName;

    @Column(type = ColumnType.JAVA)
    private String modelDataSourceDbType;

    @Column("status")
    private String status;

    @Column("api_version")
    private String apiVersion;

    @Column("form_id")
    private String formId;

    @Column("service_url")
    private String serviceUrl;

    @Column("generate_type")
    private String generateType;

    @Column(type = ColumnType.JAVA)
    private XdapUsers creatorInfo;

    @SystemColumn(SystemColumnType.OWNER)
    private String owner;

    @Column("created_by")
    @SystemColumn(SystemColumnType.CREATE_BY)
    private String createdBy;

    @Column("last_updated_by")
    @SystemColumn(SystemColumnType.LASTUPDATE_BY)
    private  String lastUpdatedBy;

    @Column("creation_date")
    @SystemColumn(SystemColumnType.CREATE_ON)
    private Date creationDate;

    @Column("last_update_date")
    @SystemColumn(SystemColumnType.LASTUPDATE_ON)
    private Date lastUpdateDate;

    @Column("object_version_number")
    @SystemColumn(SystemColumnType.OBJECT_VERSION)
    private Integer objectVersionNumber;

    @Column(type = ColumnType.JAVA)
    private String modelTypeDisplay;

    @Column(type = ColumnType.JAVA)
    private String tenantId;

    @Column("interface_type")
    private String interfaceType;

    @Column("service_source")
    private String serviceSource;

    @Column("function_info")
    private String functionInfo;

    @Column(type = ColumnType.JAVA)
    private boolean selfDevDataModel;

    @Column("internal_resource")
    private Boolean internalResource;

    @Column("app_id")
    private String appId;

    @Column("use_scope")
    private String useScope;

    @Column("generate_type_method")
    private String generateTypeMethod;

    @Column("sys_rel_model")
    private String sysRelModel;

    @Column("rel_key")
    private String relKey;

    @Column("created_system_table")
    private String createdSystemTable;

    @Column("service_id")
    private String serviceId;
}
